﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using StoreManagementSystem.DomainObjects;

namespace StoreManagementSystem.DomainObjects
{
    public class Product : Entity
    {
        private string m_id;
        private string m_Name;
        private Brand m_Brand;
        private string m_Description;
        private int m_quantity;
        private decimal m_price;

        private IList<Category> m_Categories;

        public Product()
        {
            this.Name = "";
            m_Categories = new List<Category>();
        }

        public int Quantity
        {
            get { return m_quantity; }
            set { m_quantity = value; }
        }

        public decimal Price
        {
            get { return m_price; }
            set { m_price = value; }
        }

        public string id
        {
            get { return m_id; }
            set { m_id = value; }
        }

        public string Name
        {
            get { return m_Name; }
            set { m_Name = value; }
        }

        public Brand Brand
        {
            get { return m_Brand; }
            set { m_Brand = value; }
        }

        public string Description
        {
            get { return m_Description; }
            set { m_Description = value; }
        }

        internal void addCategory(Category category)
        {
            m_Categories.Add(category);
        }

        internal void removeCategory(Category category)
        {
            m_Categories.Remove(category);
        }
    }
}
